﻿using System;
using Com.Binaria.Core.Util;

namespace Com.Binaria.SISCOB.DTO
{

    /// <summary>
    ///	Clase representativa de la tabla RegistroContable
    /// </summary>
    [Serializable]
    public class RegistroContableDTO : ICloneable
    {
        #region propiedades publicas
		private System.Int32? _id;
		private System.Int32? _idCartolaMayor;
		private CartolaMayorDTO _cartolaMayor;
		private System.DateTime? _fchRegistro;
		private System.String _glosa;
		private System.Int64? _monto;
		private System.String _tipo;
		private System.String _nmrDcto;
		private System.String _nmrAsiento;
		private System.Boolean? _estaProcesado;
        #endregion

        #region metodos set y get propiedades publicas

        public System.Int32? Id
        {
           get { return _id; }
           set { _id = value; }
        }

        public System.Int32? IdCartolaMayor
        {
           get { return _idCartolaMayor; }
           set { _idCartolaMayor = value; }
        }
				
        public CartolaMayorDTO CartolaMayor
        {
           get { return _cartolaMayor; }
           set { _cartolaMayor = value; }
        }


        public System.DateTime? FchRegistro
        {
           get { return _fchRegistro; }
           set { _fchRegistro = value; }
        }

        public System.String Glosa
        {
           get { return _glosa; }
           set { _glosa = value; }
        }

        public System.Int64? Monto
        {
           get { return _monto; }
           set { _monto = value; }
        }

        public System.String Tipo
        {
           get { return _tipo; }
           set { _tipo = value; }
        }

        public System.String NmrDcto
        {
           get { return _nmrDcto; }
           set { _nmrDcto = value; }
        }

        public System.String NmrAsiento
        {
           get { return _nmrAsiento; }
           set { _nmrAsiento = value; }
        }

        public System.Boolean? EstaProcesado
        {
           get { return _estaProcesado; }
           set { _estaProcesado = value; }
        }
        #endregion

        #region constructores
        /// <summary>
        /// constructor por defecto del objeto
        /// </summary>
        public RegistroContableDTO() { }
        #endregion

        #region ICloneable Members
        object ICloneable.Clone()
        {
            return this.Clone();
        }
        
        /// <summary>
        /// Metodo que permite crear una copia de la actual instancia en memoria
        /// </summary>
        /// <returns>una copia del objeto existente en memoria</returns>
        public RegistroContableDTO Clone()
        {	
	 	    RegistroContableDTO oDto = (RegistroContableDTO)this.MemberwiseClone();		
            oDto.CartolaMayor = this.CartolaMayor == null ? null: (CartolaMayorDTO)this.CartolaMayor.Clone();
	 	    return oDto;
	    }
        #endregion Clone Method	
    }//End class RegistroContableDTO
}//End namespace
